/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package geradorentidades;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Familia
 */
@Entity
@Table(name = "slw_movimentacao")
@NamedQueries({
    @NamedQuery(name = "SlwMovimentacao.findAll", query = "SELECT s FROM SlwMovimentacao s"),
    @NamedQuery(name = "SlwMovimentacao.findByIdMovimentacao", query = "SELECT s FROM SlwMovimentacao s WHERE s.idMovimentacao = :idMovimentacao"),
    @NamedQuery(name = "SlwMovimentacao.findByDatMov", query = "SELECT s FROM SlwMovimentacao s WHERE s.datMov = :datMov"),
    @NamedQuery(name = "SlwMovimentacao.findByQuantMovim", query = "SELECT s FROM SlwMovimentacao s WHERE s.quantMovim = :quantMovim"),
    @NamedQuery(name = "SlwMovimentacao.findByTipoMov", query = "SELECT s FROM SlwMovimentacao s WHERE s.tipoMov = :tipoMov"),
    @NamedQuery(name = "SlwMovimentacao.findByValTotalMov", query = "SELECT s FROM SlwMovimentacao s WHERE s.valTotalMov = :valTotalMov"),
    @NamedQuery(name = "SlwMovimentacao.findByValUnitarioMov", query = "SELECT s FROM SlwMovimentacao s WHERE s.valUnitarioMov = :valUnitarioMov")})
public class SlwMovimentacao implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "ID_MOVIMENTACAO")
    private Long idMovimentacao;
    @Basic(optional = false)
    @Column(name = "DAT_MOV")
    @Temporal(TemporalType.DATE)
    private Date datMov;
    @Basic(optional = false)
    @Column(name = "QUANT_MOVIM")
    private int quantMovim;
    @Basic(optional = false)
    @Column(name = "TIPO_MOV")
    private char tipoMov;
    @Column(name = "VAL_TOTAL_MOV")
    private Double valTotalMov;
    @Column(name = "VAL_UNITARIO_MOV")
    private Double valUnitarioMov;
    @JoinColumn(name = "ITEM", referencedColumnName = "ID_ITEM")
    @ManyToOne(optional = false)
    private SlwItem slwItem;

    public SlwMovimentacao() {
    }

    public SlwMovimentacao(Long idMovimentacao) {
        this.idMovimentacao = idMovimentacao;
    }

    public SlwMovimentacao(Long idMovimentacao, Date datMov, int quantMovim, char tipoMov) {
        this.idMovimentacao = idMovimentacao;
        this.datMov = datMov;
        this.quantMovim = quantMovim;
        this.tipoMov = tipoMov;
    }

    public Long getIdMovimentacao() {
        return idMovimentacao;
    }

    public void setIdMovimentacao(Long idMovimentacao) {
        this.idMovimentacao = idMovimentacao;
    }

    public Date getDatMov() {
        return datMov;
    }

    public void setDatMov(Date datMov) {
        this.datMov = datMov;
    }

    public int getQuantMovim() {
        return quantMovim;
    }

    public void setQuantMovim(int quantMovim) {
        this.quantMovim = quantMovim;
    }

    public char getTipoMov() {
        return tipoMov;
    }

    public void setTipoMov(char tipoMov) {
        this.tipoMov = tipoMov;
    }

    public Double getValTotalMov() {
        return valTotalMov;
    }

    public void setValTotalMov(Double valTotalMov) {
        this.valTotalMov = valTotalMov;
    }

    public Double getValUnitarioMov() {
        return valUnitarioMov;
    }

    public void setValUnitarioMov(Double valUnitarioMov) {
        this.valUnitarioMov = valUnitarioMov;
    }

    public SlwItem getSlwItem() {
        return slwItem;
    }

    public void setSlwItem(SlwItem slwItem) {
        this.slwItem = slwItem;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idMovimentacao != null ? idMovimentacao.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof SlwMovimentacao)) {
            return false;
        }
        SlwMovimentacao other = (SlwMovimentacao) object;
        if ((this.idMovimentacao == null && other.idMovimentacao != null) || (this.idMovimentacao != null && !this.idMovimentacao.equals(other.idMovimentacao))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "geradorentidades.SlwMovimentacao[idMovimentacao=" + idMovimentacao + "]";
    }

}
